package lucene.server.common.storage;


import java.io.*; ;

public class StorageHelper {

     /**
     * 将对象实例保存到文件。
     *
     * @param obj 要保存的对象实例。
     * @param filePath 文件路径。
     * @throws IOException 如果写入过程中发生IO异常。
     */
    public static void toFile(Serializable obj, String filePath) {
        filePath = StorageConstans.STORAGE_PATH + filePath;
        try (FileOutputStream fos = new FileOutputStream( filePath);
             ObjectOutputStream oos = new ObjectOutputStream(fos)) {
            oos.writeObject(obj);
        }catch (Exception e){
            e.printStackTrace();
        }
    }

    /**
     * 从文件中加载对象实例。
     *
     * @param filePath 文件路径。
     * @return 从文件中读取的对象实例。
     * @throws IOException 如果读取过程中发生IO异常。
     * @throws ClassNotFoundException 如果找不到对象的类。
     */
    public static Object fromFile(String filePath)  {
        filePath = StorageConstans.STORAGE_PATH + filePath;
        try (FileInputStream fis = new FileInputStream(filePath);
             ObjectInputStream ois = new ObjectInputStream(fis)) {
            return ois.readObject();
        }catch (Exception e){
            return null;
        }
    }



}
